package com.wang.system.service;

import com.wang.system.domain.question.dto.QuestionAddDTO;
import com.wang.system.domain.question.dto.QuestionEditDTO;
import com.wang.system.domain.question.dto.QuestionQueryDTO;
import com.wang.system.domain.question.vo.QuestionDetailVO;
import com.wang.system.domain.question.vo.QuestionVO;

import java.util.List;

public interface IQuestionService {
    /**
     * 查询题目列表
     * @param questionQueryDTO 查询条件,包括一页的条数,页码,(选择)题目,(选择)难度
     * @return 返回题目列表
     */
    List<QuestionVO> list(QuestionQueryDTO questionQueryDTO);

    /**
     * 添加题目
     * @param questionAddDTO 要添加题目的相关参数
     * @return 返回是否添加成功
     */
    boolean add(QuestionAddDTO questionAddDTO);

    /**
     * 查询题目详细信息
     * @param questionId 题目id
     * @return 返回题目详细信息
     */
    QuestionDetailVO detail(Long questionId);

    /**
     * 修改题目信息
     * @param questionEditDTO 题目id和修改之后的题目详细信息
     * @return 返回数据库改变的行数
     */
    Boolean edit(QuestionEditDTO questionEditDTO);

    /**
     * 删除题目
     * @param questionId 题目id
     * @return 返回数据库改变行数
     */
    int delete(Long questionId);
}
